<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title>server</title>
    <meta name="generator" content="muse.el">
    <meta http-equiv="Content-Type"
          content="text/html; charset=utf-8">
    <style type="text/css">
body {
  background: white; color: black;
  margin-left: 3%; margin-right: 7%;
}

p { margin-top: 1% }
p.verse { margin-left: 3% }

.example { margin-left: 3% }

h2 {
  margin-top: 25px;
  margin-bottom: 0px;
}
h3 { margin-bottom: 0px; }
    </style>
  </head>
  <body>
    <h1>server</h1>
    <!-- Page published by Emacs Muse begins here -->
<h2>Сервер</h2>

<ul>
<li>демон</li>
<li>запускается на компьютере с выделенным IP</li>
<li>слушает порты</li>
<li>читает параметры из конфиг-файла</li>
</ul>


<h3>Функции демона</h3>

<ol>
<li>Обмен данными с Клиентами: <a href="protokol.html">protokol</a></li>
<li>Обмен данными с Регуляторами: <a href="protokol.html">protokol</a></li>
<li>Логирование</li>
</ol>



<h3>Структура данных сервера</h3>

<ol>
<li>Данные из кониг файла</li>
<li>Хеш-список клиентов {'имя'}-&gt;(ip,tcp-порт,upd-порт)</li>
<li>Для каждого регулятора &mdash; очередь команд от него
и выделить алгоритм для обработки этих команд</li>
<li>Кеш-список состояний всех датчиков:
{'имя лего'}-&gt;(список типов датчиков)-&gt;(массив до 4х элементов)
единица записи:

<ul>
<li>данные</li>
<li>время измерения</li>
<li>время кеширования (когда пришел на сервер)</li>
<li>список рег., которые запрашивали данные о состоянии</li>
</ul></li>
</ol>



<h3>Логирование</h3>

<p class="first">Логирование осуществляется записью в таблицы MySQL (локально).</p>



<h3>Конфиг-файл</h3>

<ol>
<li>Имя сервера (16 байт)</li>
<li>порты сервера для общения с клиентами по TCP</li>
<li>порты сервера для общения с клиентами по UDP</li>
<li>Данные для связи с БД (вкл. то, что нужно для имен таблиц)</li>
<li>Порты для общения с регуляторами</li>
</ol>




<!-- Page published by Emacs Muse ends here -->
  </body>
</html>
